﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Basicas;
using ProjetoJornada_Negocios.Fachada;
using MySql.Data.MySqlClient;

namespace ProjetoJornada.Interno
{
    public partial class InstrutorMonitor_Listar : System.Web.UI.Page
    {

        Fachada fachada = Fachada.Instance;

        protected void Page_Load(object sender, EventArgs e)
        {
            List<Instrutor_Monitor> instrutoresMonitores = fachada.GetTodosInstrutorMonitor();
            List<Instrutor_Monitor> instrutores = new List<Instrutor_Monitor>();
            List<Instrutor_Monitor> monitores = new List<Instrutor_Monitor>();

            foreach (Instrutor_Monitor item in instrutoresMonitores)
            {
                if (item.EhInstrutor == true)
                {
                    instrutores.Add(item);
                }
                else
                {
                    monitores.Add(item);
                }
            }

            GridView_Instrutor.DataSource = instrutores;
            GridView_Instrutor.DataBind();

            GridView_Monitor.DataSource = monitores;
            GridView_Monitor.DataBind();

        }

        protected void GridView_Instrutor_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
           try{
                List<Instrutor_Monitor> instrutores = (List<Instrutor_Monitor>)GridView_Instrutor.DataSource;
                Instrutor_Monitor instrutor = instrutores[e.RowIndex];
                fachada.RemoverInstrutorMonitor(instrutor.Cpf);
                GridView_Instrutor.DataBind();

                Response.Redirect("InstrutorMonitor_Listar.aspx");
            }
            catch (MySqlException ex)
            {
                //Codigo da Foreing Key Exception
                if (ex.Number == 1451)
                {
                    ClientScript.RegisterStartupScript(GetType(), "alert", "<script type='text/javascript'>alert('Não foi possível remover este instrutor, porque ele esta alocado em uma ou mais turmas.')</script>");
                }
            }
        }

        protected void GridView_Monitor_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            try
            {
                List<Instrutor_Monitor> monitores = (List<Instrutor_Monitor>)GridView_Monitor.DataSource;
                Instrutor_Monitor monitor = monitores[e.RowIndex];
                fachada.RemoverInstrutorMonitor(monitor.Cpf);
                GridView_Monitor.DataBind();

                Response.Redirect("InstrutorMonitor_Listar.aspx");
            }
            catch (MySqlException ex)
            {
                //Codigo da Foreing Key Exception
                if (ex.Number == 1451)
                {
                    ClientScript.RegisterStartupScript(GetType(), "alert", "<script type='javascript/text'>alert('Nao foi possivel remover este monitor porque ele esta alocado em uma ou mais turma.')</script>");
                }
            }
        }


       
    }
}
